Android 使用gson解析接口数据 | 您所在的位置:网站首页 › gson jar包 › Android 使用gson解析接口数据 |
Android 使用gson解析接口数据
原创
wx593c0904b74d6 2023-04-08 06:15:39 博主文章分类:Android ©著作权 文章标签 android gson xml ide 文章分类 Python 后端开发 ©著作权归作者所有:来自51CTO博客作者wx593c0904b74d6的原创作品,请联系作者获取转载授权,否则将追究法律责任Android 使用gson解析接口数据 简要 据上一篇简述OkHttp的post请求方法,在总结那简单说了一下怎样获取数据后再赋值到页面上,现在展开说一下。 xml代码如下: 导入谷歌的gson.jar包 (获取该jar包,搜索《轻语积累》公众号,回复gson关键字)。 将jar包复制到该文件夹下,然后右键选择 Add As Library 进行导入即可 代码实现 MainActivity.java代码如下: package com.example.okhttp_tool; import androidx.appcompat.app.AppCompatActivity; import android.os.Bundle; import android.widget.TextView; import com.example.okhttp_tool.entity.UserInfo; import com.example.okhttp_tool.utils.OkHttpTool; import com.google.gson.Gson; import java.io.IOException; import okhttp3.Call; import okhttp3.Callback; import okhttp3.Response; public class MainActivity extends AppCompatActivity { TextView tv_name,tv_age; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); initView(); getUserInfo(); } //初始化控制 private void initView() { tv_name=findViewById(R.id.tv_name); tv_age=findViewById(R.id.tv_age); } public void getUserInfo(){ String name="张三"; OkHttpTool.postUserInfo(name, new Callback() { @Override public void onFailure(Call call, IOException e) { } @Override public void onResponse(Call call, Response response) throws IOException { final String str=response.body().string(); runOnUiThread(new Runnable() { @Override public void run() { Gson gson=new Gson(); UserInfo userInfo=gson.fromJson(str,UserInfo.class); tv_name.setText(userInfo.getName()); tv_age.setText(userInfo.getAge()); } }); } }); } }UserInfo.java代码 package com.example.okhttp_tool.entity; import java.io.Serializable; public class UserInfo implements Serializable { private Integer id; private String name; private Integer age; //以下是set和get方法 public Integer getId() { return id; } public void setId(Integer id) { this.id = id; } public String getName() { return name; } public void setName(String name) { this.name = name; } public Integer getAge() { return age; } public void setAge(Integer age) { this.age = age; } }OkHttpTool.java代码 package com.example.okhttp_tool.utils; import okhttp3.Callback; import okhttp3.FormBody; import okhttp3.OkHttpClient; import okhttp3.Request; import okhttp3.RequestBody; public class OkHttpTool { final static String url="http://127.0.0.1/userInfo/get"; public static void postUserInfo(String name, Callback callback){ //1.创建OkHttpClient对象 OkHttpClient okHttpClient = new OkHttpClient(); //2.创建一个RequestBody,可以用add添加键值对 RequestBody requestBody = new FormBody.Builder() .add("name", name) .build(); //3.创建Request对象,设置URL地址,将RequestBody作为post方法的参数传入 Request request = new Request.Builder().url(url).post(requestBody).build(); //4.创建一个call对象,参数就是Request请求对象 okHttpClient.newCall(request).enqueue(callback); } }总结 以上便是使用gson解析接口数据的方法,如果接收的数据是list数组形式,方法如下: Gson gson=new Gson(); UserInfo[] userInfo=gson.fromJson(str,UserInfo[].class);赞 收藏 评论 分享 举报 上一篇:android videoview视频铺满屏幕 下一篇:Android OkHttp之post请求方法 |
CopyRight 2018-2019 实验室设备网 版权所有 |